In high reliability computer disk storage systems, there is a desire to have redundancy in all the physical parts which make up a subsystem to reduce the potential for loss of data and down time upon failure of a part. The use of dual disk storage controllers, each having its own memory, provides several major benefits to a disk storage system. For example: (1) a redundancy of storage information is retained to allow for recovery in the case of failure or loss of one controller or its memory; (2) repair of a disabled controller during operation is feasible due to the failover capabilities of a secondary controller; and (3) greater system up time is achieved through the secondary controller being available.
With the desire for more performance out of these redundant subsystems, caching, and the use of memory as temporary storage has become commonplace. The use of real time, synchronized, redundant memory (mirrored memory) in dual controllers can improve speed and accuracy in the case of a failover from one controller to the other.
Determination of who is a MASTER controller in a dual controller system is vital for preserving the integrity of the mirrored memory contents. Namely, when a computer disk array contains two controllers controlling a common array, a decision must be made during initialization as to which controller has a valid memory image so that the correct side of the mirrored memory will be accessed and used. A valid memory image means the data stored in memory is associated with the disk drives currently installed in the array. Hereafter, the controller with the valid memory image will be referred to as the MASTER controller. Initialization may occur during power up or during a reset of a controller, i.e., after an error or controller card replacement has occurred. One factor in this decision is whether or not these two controllers have been operating together previously, i.e., whether they have been operating in the same assembly on the same set of disk drives and, thus, constitute a controller pair.
Accordingly, the object of the present invention is to provide a means for determination of who is the MASTER controller upon initialization in a dual controller disk storage system for preserving the integrity of the mirrored memory contents.